﻿////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// <copyright>Copyright 2008-2011 Andreas Huber Doenni</copyright>
// Distributed under the GNU General Public License version 2 (GPLv2).
// See accompanying file License.txt or copy at http://phuse.codeplex.com/license.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

namespace Phuse.Net.Forums
{
    using System;

    /// <summary>Validates data stored in the database.</summary>
    internal static class ValidationHelper
    {
        // The SQL Server CE minimal date, see http://msdn.microsoft.com/en-us/library/ms172424.aspx
        private static readonly DateTime SqlServerMinimalDate = new DateTime(1753, 1, 1);

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        internal static DateTime? LimitToSqlDateTime(DateTime? dateTime)
        {
            return (dateTime < SqlServerMinimalDate) ? SqlServerMinimalDate : dateTime;
        }

        internal static string Truncate(string value, int maxLength)
        {
            return (value != null) && (value.Length > maxLength) ? value.Substring(0, maxLength) : value;
        }
    }
}
